Real-time communication processing method, product, and apparatus

ABSTRACT

The present invention detects indicia, identifiers, or partial URLs to mark up in real time from input sources such as that of radio, television, cable, and other sources that have a digital, analog or digital/analog signal where text can be decoded from. A device receives a broadcast and decodes text data from the broadcast signal. The data is stored and words are parsed from the stored data. The words may be matched against a table of identifiers or rules to determine whether indicia have been detected. If not and it is determined that there is more data, then the next word may be parsed from the stored data. If an identifier or the like has been detected then it may be determined whether the word is a phone number. When the word is a phone number, the number is stored in a phone cache to speed-dial, auto-dial, generate a hyperdial link, or update a phone book. If the word is not a phone number, then it may be determined whether the word is a lottery number, stock symbol and price, zip code, e-mail, domain name, weather and any other indicia types that may be detected to perform an operative function.

OTHER APPLICATIONS

This application claims the benefit of the following patentapplications, which are hereby incorporated by reference:

1. This application is a continuation-in-part of U.S. patent applicationSer. No. 09/532,500 filed Mar. 21, 2000, by Schneider, entitled“Fictitious domain name method, product, and apparatus”, and is acontinuation-in-part of U.S. patent application Ser. No. 09/525,350filed Mar. 15, 2000, by Schneider, entitled “Method for integratingdomain name registration with domain name resolution” and claims thebenefit of U.S. Provisional Application Ser. No. 60/143,859 filed Jul.15, 1999, by Schneider entitled “Method and apparatus for generation,registration, resolution, and emulation of name space”, now abandoned,U.S. Provisional Application Ser. No. 60/135,751 filed May 25, 1999, bySchneider entitled “Method and system for name space resolution”, nowabandoned and U.S. Provisional Application Ser. No. 60/125,531 filedMar. 22, 1999, by Schneider entitled “Method and system for theemulation of name space”, now abandoned.

2. U.S. Provisional Application Ser. No. 60/160,125 filed Oct. 18, 1999,by Schneider, entitled “Method and system for integrating resourcelocation, search services, and registration services.”

3. U.S. Provisional Application Ser. No. 60/153,594 filed Sep. 13, 1999,by Schneider entitled “Method and apparatus for using a portion of a URIto select and display advertising.”

4. U.S. Provisional Application Ser. No. 60/153,336 filed Sep. 10, 1999,by Schneider entitled “Method and apparatus for generating hyperlinkreferences and/or performing an operative function in response todetected indicia.”

FIELD OF THE INVENTION

This invention relates to identifier detection, and more specificallyrelates to a method, product, and apparatus for performing an operativefunction in response to detecting an identifier.

BACKGROUND OF THE INVENTION

The Internet is a vast computer network consisting of many smallernetworks that span the world. A network provides a distributedcommunicating system of computers that are interconnected by variouselectronic communication links and computer software protocols. Becauseof the Internet's distributed and open network architecture, it ispossible to transfer data from one computer to any other computerworldwide. In 1991, the World-Wide-Web (WWW or Web) revolutionized theway information is managed and distributed.

The Web is based on the concept of hypertext and a transfer method knownas Hypertext Transfer Protocol (HTTP) which is designed to run primarilyover a Transmission Control Protocol/Internet Protocol (TCP/IP)connection that employs a standard Internet setup. A server computer mayissue the data and a client computer displays or processes it. TCP maythen convert messages into streams of packets at the source, thenreassemble them back into messages at the destination. Internet Protocol(IP) handles addressing, seeing to it that packets are routed acrossmultiple nodes and even across multiple networks with multiplestandards. HTTP protocol permits client systems connected to theInternet to access independent and geographically scattered serversystems also connected to the Internet.

Client side browsers, such as Netscape Navigator and/or MicrosoftInternet Explorer (MSIE) provide a graphical user interface (GUI) basedclient applications that implement the client side portion of the HTTPprotocol. One format for information transfer is to create documentsusing Hypertext Markup Language (HTML). HTML pages are made up ofstandard text as well as formatting codes that indicate how the pageshould be displayed. The client side browser reads these codes in orderto display the page. A web page may be static and requires no variablesto display information or link to other predetermined web pages. A webpage is dynamic when arguments are passed which are either hidden in theweb page or entered from a client browser to supply the necessary inputsdisplayed on the web page. Common Gateway Interface (CGI) is a standardfor running external programs from a web server. CGI specifies how topass arguments to the executing program as part of the HTTP serverrequest. Commonly, a CGI script may take the name and value argumentsfrom an input form of a first web page which is be used as a query toaccess a database server and generate an HTML web page with customizeddata results as output that is passed back to the client browser fordisplay.

The Web is a means of accessing information on the Internet that allowsa user to “surf the web” and navigate the Internet resourcesintuitively, without technical knowledge. The Web dispenses withcommand-line utilities, which typically require a user to transmit setsof commands to communicate with an Internet server. Instead, the Web ismade up of millions of interconnected web pages, or documents, which maybe displayed on a computer monitor. Hosts running special serversprovide the Web pages. Software that runs these Web servers isrelatively simple and is available on a wide range of computer platformsincluding PC's. Equally available is a form of client software, known asa Web browser, which is used to display Web pages as well as traditionalnon-Web files on the client system.

A network resource identifier such as a Uniform Resource Identifier(URI) is a compact string of characters for identifying an abstract orphysical resource. URIs are the generic set of all names and addressesthat refer to objects on the Internet. URIs that refer to objectsaccessed with existing protocols are known as Uniform Resource Locators(URLs). A URL is the address of a file accessible on the Internet. TheURL contains the name of the protocol required to access the resource, adomain name, or IP address that identifies a specific computer on theInternet, and a hierarchical description of a file location on thecomputer. For example the URL “http://www.example.com/index.html”, where“http” is the scheme or protocol, “www.example.com” is the FullyQualified Domain Name (FQDN), and “index.html” is the filename locatedon the server.

Because an Internet address is a relatively long string of numbers(e.g., 31.41.59.26) that is difficult to remember, Internet users relyon domain names, memorable and sometimes catchy words corresponding tothese numbers, in order to use electronic mail (e-mail) and to connectto Internet sites on the Web. The Domain Name System (DNS) is a set ofprotocols and services on a network that allows users to utilize domainnames when looking for other hosts (e.g., computers) on the network. TheDNS is composed of a distributed database of names. The names in the DNSdatabase establish a logical tree structure called the domain namespace. Each node or domain in the domain name space is named and maycontain subdomains. Domains and subdomains are grouped into zones toallow for distributed administration of the name space.

A domain name consists of two parts: a host and a domain. Technically,the letters to the right of the “dot” (e.g., tut.net) are referred to asTop Level Domains (TLDs), while hosts, computers with assigned IPaddresses that are listed in specific TLD registries are known assecond-level domains (SLDs). For the domain name “tut.net”, “.net” isthe TLD, and “tut” is the SLD. Domain name space is the orderedhierarchical set of all possible domain names either in use or to beused for locating an IP address on the Internet. TLDs are known astop-level domains because they comprise the highest-order name spaceavailable on the Internet. Second-level domains, as well as third-leveldomains (3LDs) such as “king.tut.net”, are subsidiary to TLDs in thehierarchy of the Internet's DNS.

There are two types of top-level domains, generic and country code.Generic top-level domains (gTLDs) were created to allocate resources tothe growing community of institutional networks, while country codetop-level domains (ccTLDs) were created for use by each individualcountry, as deemed necessary. More than 240 national, or country-codeTLDs (e.g., United States (.us), Japan (.jp), Germany (.de), etc.) areadministered by their corresponding governments, or by private entitieswith the appropriate national government's acquiescence. A small set ofgTLDs does not carry any national identifier, but denote the intendedfunction of that portion of the domain space. For example, “.com” wasestablished for commercial networks, “.org” for not-for-profitorganizations, and “.net” for network gateways. The set of gTLDs wasestablished early in the history of the DNS and has not been changed oraugmented in recent years (COM, ORG, GOV, and MIL were created byJanuary 1985, NET in July 1985, and INT was added in November 1988).

URLs are used in media and written in documents or typed within e-mail,and data files, etc. as a means to make reference to accessible onlinecontent that helps express the context of the ideas one wishes tocommunicate. URLs are generally written in an abbreviated manner aspartial URLs or domain names (e.g., “http://www.example.com” is the URL,“www.example.com” is the FQDN, and “example.com” is the domain name).During the early stages of commercialization on the Internet, businessesdisplayed the full URL when advertising a commercial or display ad as ameans to locate the resources of the business on the Internet.Improvements have been made to recognize partial URLs when entered inthe location field of a web browser or network accessible device forautomatically appending protocol information so a full URL request canbe made. By submitting a domain name or FQDN in the location field, thebrowser modifies the request by adjusting the partial URL and adding“http://” in front of the domain name or FQDN in order to construct avalid URL. As a result of this convenience, companies have modifiedtheir advertising and distribution of URLs through print, film, radio,television and other media as “example.com” or “www.example.com” insteadof the URL “http://www.example.com”. Though a helpful mnemonic forconsumers to more readily identify and access the location and origin ofgoods and services on a public network such as the Internet, themnemonic is only applicable when using a command line of a device orlocation field of a web browser program as a means to access theadvertised web site.

There is a need for such a method or device to assure that identifierssuch as partial URLs (e.g., domain names and FQDNs) may be translatedback to a full URL or web address so that the continuity forhyperlinking across separate mediums is realized. Furthermore, there isa need to extend the use of an identifier by performing an operativefunction upon detection of such identifiers across different media.

SUMMARY OF THE INVENTION

Briefly, this invention relates to detecting indicia and generatinghyperlink references or performing an operative function in response tosuch detected indicia. The present invention enables hyperlinkreferences to be generated upon detection of domain names or fictitiousindicia. The invention allows a user to create a hyperlink reference byonly supplying a domain name having a TLD or TLDA as input. The presentinvention enables the user to “surf the web” for material related to acurrent broadcast based on generating hyperlinks from closed caption orother decoded text. The invention allows for partial URLs to be used indocuments and other sources aside from the location field of the browserwith the ability to hyperlink from such abbreviated reference. Thepresent invention enables a user to automatically dial the telephone orupdate a phone book in response to a radio or television broadcast. Theinvention provides notification if a user won a lottery. The presentinvention also provides notification when a user might want to buy orsell a stock. Other objects and advantages will be appreciated by thoseskilled in the art from the following teachings of the presentinvention.

In general, in accordance with the present invention a method forprocessing a signal having audio includes the steps of determiningwhether the signal includes encoded text, processing the encoded text inresponse to determining that the signal does include encoded text,storing a portion of the audio signal in a sound cache in response todetermining that the signal does not include encoded text, determiningwhether an identifier can be recognized from any portion of the soundcache, and performing an operative function corresponding to theidentifier in response to determining that the identifier can berecognized, from the sound cache.

Identifier detection may further include the step of determining whetherany portion of the sound cache resembles any portion of a sound tablehaving stored sounds, wherein the stored sounds resemble at least oneidentifier. The step of determining whether to process a remainingportion of the audio signal may also be included. Encoded text may beprocessed by decoding a portion of the encoded text, determining whetherthe decoded text includes any identifiers, and performing an operativefunction corresponding to the identifier in response to determining thatthe decoded text does include the identifier.

When an identifier is a phone number the corresponding operativefunction may further include the step of selecting from one of a speeddial, auto dial, phone book, generating a hyperlink to dial said phonenumber, and dialing said phone number. When an identifier is an e-mailaddress the corresponding operative function may further include thestep of selecting from one of an address book and an e-mail messagecomposition window designated to send to said e-mail address. When anidentifier is a lottery number the corresponding operative function mayfurther include the step of comparing the lottery number to a table ofpreselected lottery numbers. When an identifier is a stock symbol thecorresponding operative function may further include the step ofproviding a stock update from the stock symbol. When an identifier is azip code the corresponding operative function may further include thestep of selecting from one of an address book and decoding a postaladdress from the cache preceding the identifier. When an identifierincludes a HLD (e.g., VDN, FDN) the corresponding operative function mayfurther include the step of selecting from one of a bookmarking thedomain name and generating an accessible hyperlink from the domain name.

In accordance with another aspect of the present invention, a method forgenerating hyperlinks from a first data file includes the steps ofdetecting any unlinked portions of text having a HLD from the first datafile, selecting which the unlinked portions of text are to be modified,generating a hyperlink for each selected unlinked portion, andgenerating a second file that includes the first data file having thehyperlinks in place of the selected unlinked portions of text. Theunlinked portions of text may be modified by selecting a label for eachselected unlinked portion. Each hyperlink may include the selected labelfor each selected unlinked portion.

In accordance with yet additional aspects of the present invention, anapparatus which implements substantially the same functionality insubstantially the same manner as the methods described above isprovided.

In accordance with other additional aspects of the present invention, acomputer-readable medium that includes computer-executable instructionsmay be used to perform substantially the same methods as those describedabove is provided.

The foregoing and other features of the invention are hereinafter fullydescribed and particularly pointed out in the claims. The followingdescription and the annexed drawings set forth in detail one or moreillustrative aspects of the invention, such being indicative, however,of but one or a few of the various ways in which the principles of theinvention may be employed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 a is a block diagram of an exemplary distributed computer systemin accordance with the present invention.

FIG. 1 b is a diagram depicting the location field or web page searchrequest used in a conventional web browser.

FIG. 1 c is a block diagram illustrating exemplary information recordsstored in memory in accordance with the present invention.

FIG. 2 is a flowchart illustrating the steps performed by a prior artsystem for generating hyperlink references.

FIG. 3 is a flowchart illustrating the steps performed for generatinghyperlinks based on detecting a highest level domain (HLD) in accordancewith the present invention.

FIG. 4 is a flowchart illustrating the steps performed for hyperlinkgeneration in accordance with the present invention.

FIG. 5 a depicts an e-mail message used as an input source file inaccordance with the present invention.

FIG. 5 b is an illustration of the user interface for displayingcandidate links for conversion from the input source file in accordancewith the present invention.

FIG. 5 c depicts a modified e-mail message that is an output filegenerated from combining the user interface with the input source filein accordance with the present invention.

FIG. 6 is a flowchart illustrating the steps performed for decoding textfrom a broadcast to perform an operative function in accordance with thepresent invention.

FIG. 7 is a flowchart illustrating the steps performed for convertingspeech to text in real time to perform an operative function inaccordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will now be described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout.

FIG. 1 a illustrates an exemplary system for providing a distributedcomputer system 100 in accordance with one aspect of the presentinvention and includes client computers or any network access apparatus110 connected to server computers 120 via a network 130. The network 130may use Internet communications protocols (IP) to allow the clients 110to communicate with the servers 120. The communication device of anetwork access apparatus 110 may include a transceiver, a modem, anetwork interface card, or other interface devices to communicate withthe electronic network 130. The network access apparatus 110 may beoperatively coupled to and/or include a Global Positioning System (GPS).The modem may communicate with the electronic network 130 via a line 116such as a telephone line, an ISDN line, a coaxial line, a cabletelevision line, a fiber optic line, or a computer network line.Alternatively, the modem may wirelessly communicate with the electronicnetwork 130. The electronic network 130 may provide an on-line service,an Internet service provider, a local area network service, a wide areanetwork service, a cable television service, a wireless data service, anintranet, a satellite service, or the like.

The client computers 110 may be any network access apparatus includinghand held devices, palmtop computers, personal digital assistants(PDAs), notebook, laptop, portable computers, desktop PCs, workstations,and/or larger/smaller computer systems. It is noted that the networkaccess apparatus 110 may have a variety of forms, including but notlimited to, a general purpose computer, a network computer, an internettelevision, a set top box, a web-enabled telephone, an internetappliance, a portable wireless device, a game player, a video recorder,and/or an audio component, for example.

Each client 110 typically includes one or more processors 166, memories168, and input/output devices 170. An input device may be any suitabledevice for the user to give input to client computer system 110, forexample: a keyboard, a 10-key pad, a telephone key pad, a light pen orany pen pointing device, a touchscreen, a button, a dial, a joystick, asteering wheel, a foot pedal, a mouse, a trackball, an optical ormagnetic recognition unit such as a bar code or magnetic swipe reader, avoice or speech recognition unit, a remote control attached via cable orwireless link to a game set, television, and/or cable box. A data glove,an eye-tracking device, or any MIDI device may also be used. A displaydevice may be any suitable output device, such as a display screen,text-to-speech converter, printer, plotter, fax, television set, oraudio player. Although the input device is typically separate from thedisplay device, they may be combined; for example: a display with anintegrated touchscreen, a display with an integrated keyboard, or aspeech-recognition unit combined with a text-to-speech converter.

The servers 120 may be similarly configured. However, in many instancesserver sites 120 include many computers, perhaps connected by a separateprivate network. In fact, the network 130 may include hundreds ofthousands of individual networks of computers. Although client computers110 are shown separate from the server computers 120, it is understoodthat a single computer might perform the client and server roles. Thoseskilled in the art will appreciate that the computer environment 100shown in FIG. 1 a is intended to be merely illustrative. The presentinvention may also be practiced in other computing environments. Forexample, the present invention may be practiced in multiple processorenvironments wherein the client computer includes multiple processors.Moreover, the client computer need not include all of the input/outputdevices as discussed above and may also include additional devices.Those skilled in the art will appreciate that the present invention mayalso be practiced via Intranets and more generally in distributedenvironments in which a client computer requests resources from a servercomputer.

During operation of the distributed system 100, users of the clients 110may desire to access information records 122 stored by the servers 120while utilizing, for example, the Web. Furthermore, such server systems120 may also include one or more search engines having one or moredatabases 124. The records of information 122 may be in the form of Webpages 150. The pages 150 may be data records including as content plaintextual information, or more complex digitally encoded multimediacontent, such as software programs, graphics, audio signals, videos, andso forth. It should be understood that although this description focuseson locating information on the World-Wide-Web, the system may also beused for locating information via other wide or local area networks(WANs and LANs), or information stored in a single computer using othercommunications protocols.

The clients 110 may execute Web browser programs 112, such as NetscapeNavigator or MSIE to locate the pages or records 150. The browserprograms 112 enable users to enter addresses of specific Web pages 150to be retrieved. Typically, the address of a Web page is specified as aURI or more specifically as a URL. In addition, when a page has beenretrieved, the browser programs 112 may provide access to other pages orrecords by “clicking” on hyperlinks (or links) to previously retrievedWeb pages. Such links may provide an automated way to enter the URL ofanother page, and to retrieve that page.

FIG. 1 b more specifically illustrates an exemplary selection of commonoperative components of a web browser program 112. The web browser 112enables a user to access a particular web page 150 by typing the URL forthe web page 150 in the location field 154. The web page 150 contentscorresponding to the URI from the location field 154 may be displayedwithin the client area of the web browser display window 158, forexample. Title information from the web page 150 may be displayed in thetitle bar 160 of the web browser 112. The web page 150 contents mayfurther include a user interface element such as that of an input textbox 162 for inputting search requests and, in turn, search resultshaving identifiers 164 such as a hyperlink or URI.

FIG. 1 c illustrates a block diagram of a storage device such as memory168 in operative association with a processor 166. The processor 166 isoperatively coupled to input/output devices 170 in a client 110 and/orserver 120 computing system. Stored in memory 168 may be informationrecords 122 having any combination of exemplary content such as lists,files, and databases. Such records may include for example: usermodifiable configuration settings 174, heuristic rules 176, Keywordtable 178, TLD cache 180, phone cache 182, history analysis 184, soundtable 186, address book 188, and advertising cache 190. Theseinformation records may be further introduced and discussed in moredetail throughout the disclosure of this invention.

FIG. 2 is a flowchart illustrating the steps performed by a prior artsystem for generating hyperlink references. A device such as a networkaccess apparatus 110, servlet, applet, stand-alone executable program, acommand line, or user interface element such as a text box object orlocation field 154 of a web browser 112, receives and parses input suchas text or voice in step 210. An input file may be read from memory 168and it may be determined in step 215 whether an end of file (EOF) markeris read. Upon EOF, the script or program completes execution. While anEOF has not been detected, words may be parsed from the input file instep 220. For each word, it may be determined in step 225 whether theword is a URI or FQDN. When it is determined that the word is not a URIor FQDN then steps may be repeated (215, 220, 225) until an EOF isreached or the word is a URI or FQDN. When it is determined that theword is a URI or FQDN then it may be determined in step 230 whether theword is to be converted. If the word is not converted then steps arerepeated (215, 220, 225) until an EOF is reached or the word is a URI orFQDN. If the word is to be converted then a hyperlink reference isgenerated from the word and then steps are repeated (215, 220, 225)until an EOF is reached or the word is a URI or FQDN.

In accordance with methods known to one of ordinary skill in the art,the detection of whether a word is a URI or FQDN is performed bydetermining whether the word includes a prefix such as a scheme/protocolor common host server name (e.g., “http”, “ftp”, “telnet”, “www”, etc.).This method is particularly applicable in the field of word processing,spell checking, and identifier detection. For instance, it is common foran e-mail composition program to markup a URI or FQDN on the fly, butneglect to markup a domain name on the fly or by prompting the user. Inanother example, it is explained in U.S. Provisional Application Ser.No. 60/160,125 filed Oct. 18, 1999, by Schneider, entitled “Method andsystem for integrating resource location, search services, andregistration services” that no provisions have been made to detect thepresence of a domain name before processing a search request. Anyresults that are returned from a search request are based on finding adatabase match to the domain name as a keyword or literal string.

In a hierarchical naming system such as the DNS, a first domainrepresents the highest level domain (HLD). A HLD that is determined notresolvable is referred to as a Top Level Domain Alias (TLDA). Aresolvable HLD is referred to as a Top Level Domain (TLD). Specificmethods for applying TLDAs are explained in U.S. patent application Ser.No. 09/532,500 filed Mar. 21, 2000, by Schneider, entitled “Fictitiousdomain name method, product, and apparatus” and U.S. ProvisionalApplication Ser. No. 60/153,336 filed Sep. 10, 1999, by Schneiderentitled “Method and apparatus for generating hyperlink referencesand/or performing an operative function in response to detectedindicia.”

FIG. 3 is a flowchart illustrating a step performed for improving howhyperlink references may be generated. When it is determined in step 225that the word is not a URI or FQDN it is then further determined in step310 whether the word includes a HLD. When it is determined in step 310that the word does not have a HLD then steps may be repeated (215, 220,225) until an EOF is reached, or the word is either a URI or FQDN (step225), or includes a HLD (step 310). When it is determined that the wordincludes a HLD then it may be determined in step 230 whether the word isto be converted as discussed in FIG. 2. The detection of whether a wordincludes a HLD is performed by determining whether the word includes asuffix (rather than a prefix as discussed above) such as “.com”, “.cc”,etc. Detection may be performed by comparing the word to a table ofresolvable TLDs 180.

FIG. 4 illustrates how yet further improvements may be made whengenerating hyperlink references. A device such as a network accessapparatus 110, servlet, applet, stand-alone executable program, acommand line, or user interface element such as a text box object orlocation field 154 of a web browser 112, receives and parses input suchas text or voice in step 210. An input file may be read from storage andit may be determined in step 215 whether an end of file (EOF) marker isread. Upon EOF, the script or program completes execution. While an EOFhas not been detected, words may be parsed from the input file in step220. For each word, it may be determined in step 225 whether the word isa URI or FQDN or whether the word includes a HLD (step 310).

When it is determined that the word is not a URI or FQDN it may then befurther determined in step 310 whether the word includes a HLD. When itis determined in step 310 that the word does not have a HLD then stepsmay be repeated (215, 220, 225) until an EOF is reached or the word iseither a URI or FQDN or includes a HLD. When it is determined (225, 310)that either the word is a URI or FQDN or that the word includes a HLD,then it may be determined what label is used to generate an anchoredhyperlink reference. If it is determined in step 410 that a URI label isused to generate the anchored hyperlink reference then an anchoredhyperlink reference with a URI label may be generated in step 415 fromthe word. If not, and it is determined in step 420 that a FQDN label isused to generate the anchored hyperlink reference then an anchoredhyperlink reference with a FQDN label may be generated in step 425 fromthe word. If not, and it is determined in step 430 that a domain namelabel is used to generate the anchored hyperlink reference then ananchored hyperlink reference with a domain name label may be generatedin step 435 from the word. If the word is not converted then steps maybe repeated (215, 220, 225) until an EOF is reached or the word iseither a URI or FQDN or includes a HLD.

The methods discussed above may apply to any text file or document fromweb pages, e-mail, newsgroups, and to any data file that representsinformation that may be applicable for applying hyperlinks to such datafile. Any standalone application including a program, servlet, or appletand any function, macro, or script including VB Script, JavaScript, orPERL script to name a few may be executed by any computing device toprovide an output file in response to a given input file or batch offiles. The drawings of FIGS. 5 a, 5 b, 5 c illustrate how such a programmay be particularly used to process such an input file. Methods forapplying automated markup of web pages for the purpose of web publishingare explained in U.S. patent application Ser. No. 09/532,500 filed Mar.21, 2000, by Schneider, entitled “Fictitious domain name method,product, and apparatus” and U.S. Provisional Application Ser. No.60/153,336 filed Sep. 10, 1999, by Schneider entitled “Method andapparatus for generating hyperlink references and/or performing anoperative function in response to detected indicia.”

FIG. 5 a depicts the typical source code of a composed e-mail message.Within the message are partial URLs that have a HLD. When the steps ofFIG. 4 are applied by reading the e-mail source file, the programextracts all words that are candidate for conversion and displays aninterface as illustrated in FIG. 5 b with options to select how thepartial URLs or certain select words within the e-mail source are to bemarked up. After selections are made and submitted by the user, stepsfor anchoring labels as shown in FIG. 4 are applied to generate a newe-mail source file with the partial URLs marked up according to theuser's selection. The new e-mail source file may be reviewed in moredetail in FIG. 5 c to observe the correspondence between the userinterface of FIG. 5 b and the input source file of FIG. 5 a.Modifications may be made to the script to automatically markup thepartial URLs without displaying the user interface of FIG. 5 b.

Another aspect of the present invention detects and/or generatesidentifiers in real time from input sources such as instant messaging,chat rooms, web conferencing, interactive television, any televisionbroadcast, cable, satellite, video tape, DVD, and other sources thathave a digital, analog or digital/analog signal where text may bedecoded from. There are a variety of systems available for multiplexingand transmitting character and graphic information during the verticalretrace line period of video signals, such as television signals. Thistype of system includes, for instance, the character informationbroadcasting system in Japan; the world standard teletext (WST); theextended version of the United Kingdom teletext system; the closedcaption system of the U.S.A., etc.

Video data frequently includes data, such as closed caption text data,that is transmitted during the vertical-blanking interval (VBI). Theclosed caption text data is typically transmitted during line 21 ofeither the odd or even field of the video frame in a National TelevisionStandards Committee (NTSC) format. Closed caption decoders strip thetext data from the video signal, decode the text data, and reformat thedata for display, concurrent with the video data, on a televisionscreen. Such closed caption decoders process the text data separatelyfrom a video signal. The closed caption data is displayed substantiallyin real time.

The associated data encoded in the vertical blanking period of the NTSCsignal comprises digital data. The digital data may include ASCII text,any alpha numeric coding, or graphical information. Because the digitaldata is encoded in the vertical blanking period, the audio/video contentin the NTSC signal is not disturbed. The associated data may comprise awide variety of information pertaining to the audio/video content, suchas news headlines, programming details, captioning for the associatedaudio/video, classified advertisements, and weather.

In a conventional TV set, teletext information is decoded from thebroadcast video signal with the use of dedicated hardware that processesthe data and displays it on the TV screen. In a teletext capable PC,this same dedicated teletext hardware is used to extract and process theteletext information from the video stream and then store it until theprocessed teletext information is sent to the host computer. The hostcomputer then runs a software application that receives the processeddata and formats it for display on the computer screen.

Currently, many PC-TV products allow a user to view TV on a computermonitor. Some products allow information to be viewed with the additionof appropriate hardware, typically a module that plugs into the TV card.Typically, a TV tuner receives a signal from either an antenna or cableconnection. The selected channel is output from the tuner to the TVdecoder chip and to the teletext decoder chip.

Advancements have been made to enable decoding to extend beyond that ofa dedicated chip or processor to include software drivers to performthis task. A client application running on PC calls closed captiondecoder driver in order to enable and disable the displaying of closedcaption data. All application calls are made to closed caption capturelayer (CCC) by client application. Capture layer extracts the Line 21data from video processor hardware using hardware driver and notifiesdecoding layer that there is data available to process. Decoding layerthen processes the data retrieved by capture layer and displays theclosed caption text on the monitor in a window specified by clientapplication.

FIG. 6 illustrates the steps for performing functions based on decodingtext data from a broadcast. A device receives in step 610 a broadcastand decodes in step 615 text data from the broadcast signal. Data isstored in step 620 and words are parsed in step 625 from the storeddata. The words are matched against rules 176 or a table of keywords 178to determine in step 630 whether an identifier has been detected. Ifnot, and it is determined in step 635 that there is more data, then thenext word is parsed in step 625 from the stored data. If a keyword orthe like has been detected in step 630 then it may be determined in step640 whether the word is a phone number. When the word is a phone number,the number may be stored in a phone cache 182 in step 645 to speed-dial,autodial, generate a hyperdial link, or update a phone book. If the wordis not a phone number then it may be determined in step 650 whether theword is a lottery number. When the word is a lottery number, the winningnumbers are stored for history analysis 184 and compared in step 655with selected lottery numbers to notify the outcome of the lottery. Ifthe word is not a lottery number, then it may be determined in step 660whether the word is a stock symbol having a price. When the word is astock symbol having a price, the stock symbol and price are stored forhistory analysis 184 and compared in step 665 with a threshold price toalert a user by providing notification of when a stock price hasexceeded a min/max threshold. If the word is not a stock symbol with aprice then it may be determined in step 670 whether the word is a zipcode. When the word is a zip code, a postal address is extracted fromthe decoded text to update in step 675 an address book 188 and/orgenerate postal mail.

If the word is not a zip code then it may be determined in step 310whether the word includes a HLD. When the word includes a HLD, it mayfurther be determined in step 690 whether the word is an e-mail address.If the word is an e-mail address then an address book may be updated instep 675 and/or an e-mail composition is displayed to respond to theidentifier/keyword from the decoded text in step 615. If the word is notan e-mail then the word having the HLD may be processed in step 695 at aminimum as a domain name. In either case, a hyperlink may be generatedfrom the word having the HLD. When it is determined that the word doesnot have a HLD, then the word may be processed in step 685 as ageneralized keyword for categorization, advertisements, or as a searchrequest. Advertisements may be selected accordingly from the advertisingcache 190, as further explained in U.S. Provisional Application Ser. No.60/153,594 filed Sep. 13, 1999, by Schneider entitled “Method andapparatus for using a portion of a URI to select and displayadvertising.” After the word is processed by any of the above conditionsthe next word may be parsed in step 625 until it is determined in step635 that there is no more data at which point the current application issaved and execution is completed.

The client application that processes the decoded text may further beprogrammed to detect additional identifiers including weather, alerts,warnings, time, news, header information of program segments orcommercials, etc. Some keywords in the table 178 may include text suchas but not limited to “1-800”, “1-888”, “1-877”, a list of stocksymbols, the “.” delimiter or “www” to identify a possible domain name,a list of resolvable TLDs, the “@” delimiter to identify a possiblee-mail address, zip codes, area codes, protocols such as “http”, “ftp”,etc. In addition, the time period of expected decoded data may be listedas well. For instance, it may be known that the lottery is announced7:30 pm everyday on a specific broadcast. Keywords to anticipate thenumbers, including the redundancy of announcing the numbers are combinedas part of the detection mechanism of the client application. Alsoincluded in the client application may be routines to convert themnemonic of a telephone number into digits for the purpose of storageand dialing. For example, decoded text from a broadcast yields“1-800-CALL-NOW” which is detected as indicia by the software and thenfurther converted for storage in a phone book as “1-800-225-5669”. Atable of stored sounds 186 similar to the table of keywords listed abovemay be used in another aspect of the present invention (see FIG. 7.)

Further applications may include responding to such decoded text bydetermining keywords or categories to select ads for display. Forexample, in an interactive television application, text may be decodedfrom the closed caption data of a digital broadcast and keywords areextracted to retrieve ads, coupons, or rebates that may be concurrentlydisplayed in the letterbox of the original broadcast. There are numerousvariations that may be practiced by those skilled in the are bydisplaying advertising in response to a closed caption or teletextsignal of a broadcast from which the subscriber or user can benefitfrom.

Other input sources without encoded text such as telephone, internettelephone, radio, web radio, or live audio broadcasts may be takenadvantage of by yet another aspect of the present invention, whichconverts speech to text and detects identifiers and markup partial URLsin real time. The generation of hyperlinks for the purposes ofperforming operative functions such as dialing a phone number, composingan e-mail message, or connecting to a network address to name a few arediscussed in more detail.

FIG. 7 illustrates the steps performed for performing an operativefunction in response to detecting an identifier from an audio source.When audio is received in step 710, a device or network access apparatus110 may store the received audio in a sound cache in step 715. Whilestoring audio, the stored audio may be compared in step 720 byconsulting a table of stored sounds 186 and/or a set of heuristic rules176 (e.g., a specified time frame to expect stored sounds). If there isat least a fuzzy and/or phonetic waveform match in step 725 (e.g.,suitably duplicates, resembles, matches, or is otherwise correlated witha stored sound, voice recognition, speech recognition, etc.) between aportion of the stored audio and the sound table 186, a sound byte may begenerated from the sound cache and converted in step 730 to text by aspeech-to-text or voice recognition decoder for further analysis. Whilethe sound byte is converted to text (step 730) or when there is norecognition match (step 725) then it may be determined in step 735whether the device continues to process the audio source by furtherconsulting (step 720) the sound table 186. When there is an indicationin step 735 that no further processing is requested, then the device maystore in memory 168 any successfully converted text as words. When thereis further processing, steps (720, 725) may be repeated until there isindication otherwise. When a match or the like has been detected in step725 then it may be determined in step 640 whether the converted text orword is a phone number.

Though the above aspects demonstrate hyperlink references may begenerated from input, similar teachings may be applied to those skilledin the art by providing a user interface element such as a text boxobject as input. The text box object may be located anywhere and on anyweb page including a text box that may be embedded or displayed as partof an on-line advertisement. The text box object may be used in astand-alone application or stored on magnetic and/or optical media thatmay be non-volatile, writable, removable, or portable. The text boxobject may be incorporated as an applet or servlet and embedded in otherapplications. The text box may be integrated in the task bar or any partof the GUI's OS, or the OS bypassed and a user interface elementoverlaid as a graphic on a display device based on modifications to avideo card and/or it's associated firmware or software drivers. Acommand line text box may be further overlaid as an interactive objectin other embodiments such as Internet television, cable television,digital television, or interactive television through an Internetappliance or set top box.

Those skilled in the art may make and use software code to function as abrowser plug-in, which may be downloaded by a user to integrate into acommand line or client browser 112. Modifying the source code of thebrowser program itself may be more desirable, in effect, enabling tensof millions of users to take advantages of more creative ways to usefictitious identifiers as a means to access a resolvable URI. For any ofthe above implementations, the resolvability of an HLD may be determinedfrom either the client or server side of any host or node on the networkincluding routers, resolvers, nameservers, etc.

Although the invention has been shown and described with respect to acertain preferred aspect or aspects, it is obvious that equivalentalterations and modifications will occur to others skilled in the artupon the reading and understanding of this specification and the annexeddrawings. In particular regard to the various functions performed by theabove described items referred to by numerals (components, assemblies,devices, compositions, etc.), the terms (including a reference to a“means”) used to describe such items are intended to correspond, unlessotherwise indicated, to any item which performs the specified functionof the described item (e.g., that is functionally equivalent), eventhough not structurally equivalent to the disclosed structure whichperforms the function in the herein illustrated exemplary aspect oraspects of the invention. In addition, while a particular feature of theinvention may have been described above with respect to only one ofseveral illustrated aspects, such feature may be combined with one ormore other features of the other aspects, as may be desired andadvantageous for any given or particular application.

The description herein with reference to the figures will be understoodto describe the present invention in sufficient detail to enable oneskilled in the art to utilize the present invention in a variety ofapplications and devices. It will be readily apparent that variouschanges and modifications could be made therein without departing fromthe spirit and scope of the invention as defined in the followingclaims.

1-20. (canceled) 21: A communication processing method comprising: aprocessor dynamically generating in real-time during a broadcast one ormore keywords associated to an audio signal of said broadcast whileconcurrently receiving and one of an analyzing and decoding at least areceived portion of said audio signal by said processor; and, performingby said processor at least one operative action with said one or morekeywords to assist a user while concurrently presenting outputcorresponding to said audio signal to said user during said broadcast.22: The method, as set forth in claim 21, wherein said performing saidat least one operative action with said one or more keywords includesautomatically performing said at least one operative action with saidone or more keywords in response to said dynamically generating said oneor more keywords associated to said audio signal. 23: The method, as setforth in claim 21, wherein said performing said at least one operativeaction with said one or more keywords includes providing said user withan ability to perform said at least one operative action with said oneor more keywords. 24: The method, as set forth in claim 21, wherein saidperforming said at least one operative action includes generating aninternet search engine request corresponding to said one or morekeywords and presenting results of said internet search engine requestwhile said concurrently presenting output corresponding to said audiosignal to said user. 25: The method, as set forth in claim 21, whereinsaid performing said at least one operative action includes selectingand presenting at least one advertisement corresponding to said one ormore keywords and presenting said at least one advertisement to saiduser while said concurrently presenting output corresponding to saidaudio signal to said user. 26: The method, as set forth in claim 21,further including at least one of a detecting and recognizing that saidone or more keywords includes at least one identifier. 27: The method,as set forth in claim 26, wherein said at least one identifier is aphone number and said performing said at least one operative actionfurther includes selecting from at least one of a speed dial, auto dial,phone book, generating a hyperlink to hyperdial said phone number, andhyperdialing said phone number. 28: The method, as set forth in claim26, wherein said at least one identifier is an e-mail address and saidperforming said at least one operative action further includes selectingfrom at least one of an address book and e-mail message compositionwindow designated to send to said e-mail address. 29: The method, as setforth in claim 26, wherein said at least one identifier is at least oneset of lottery numbers and said performing said at least one operativeaction further includes comparing said at least one set of said lotterynumbers to a table of preselected lottery numbers. 30: The method, asset forth in claim 26, wherein said at least one identifier is at leastone set stock symbol and said performing said at least one operativeaction further includes providing a stock update from said stock symbol.31: The method, as set forth in claim 26, wherein said at least oneidentifier is at least one zip code and said performing said at leastone operative action further includes selecting from at least one of anaddress book and detecting that a postal address precedes said zip code.32: The method, as set forth in claim 26, wherein said at least oneidentifier is at least one domain name and said performing said at leastone operative action further includes selecting from one of abookmarking said domain name and generating a hyperlink capable ofaccessing a hyperlink from said domain name. 33: The method, as setforth in claim 21, further including storing at least a portion of theaudio signal in a sound cache, determining whether an identifier can berecognized from any portion of said sound cache, and performing anoperative action corresponding to said identifier in response todetermining that said identifier can be recognized, from said soundcache. 34: The method, as set forth in claim 33, wherein saiddetermining whether said identifier can be recognized includesdetermining whether any portion of said sound cache resembles anyportion of a sound table having stored sounds, said stored soundsresembling at least one identifier. 35: The method, as set forth inclaim 34, wherein said stored sounds include spoken sounds of at leastone top level domain. 36: The method, as set forth in claim 33, furtherincluding determining whether to process a remaining portion of saidaudio signal. 37: The method, as set forth in claim 21, wherein saidbroadcast includes a closed caption text and further includingdetermining whether said closed caption text includes any identifiers,and performing an operative action corresponding to said identifier inresponse to determining that said closed caption text includes saididentifier. 38: The method, as set forth in claim 37, wherein saidperforming said at least one operative action includes generating aninternet search engine request corresponding to said one or morekeywords relating to said closed caption text and presenting results ofsaid internet search engine request while said concurrently presentingoutput corresponding to said audio signal to said user. 39: The method,as set forth in claim 37, wherein said performing said at least oneoperative action includes selecting and presenting at least oneadvertisement corresponding to said one or more keywords relating tosaid closed caption text and presenting said at least one advertisementto said user while said concurrently presenting output corresponding tosaid audio signal to said user. 40: A communication processing deviceincluding a processor comprising: said device configured to dynamicallygenerate in real-time by said processor during a broadcast one or morekeywords associated to an audio signal of said broadcast while saidaudio signal is concurrently received and at least a received portion ofsaid audio signal is one of an analyzed and decoded by said processor;and, said device configured to perform by said processor at least oneoperative action with said one or more keywords to assist a user whileoutput corresponding to said audio signal to said user is concurrentlypresented during said broadcast.